package com.ruoyi.web.mapper;

import com.ruoyi.web.domain.UserAddress;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 用户充值地址Mapper接口
 *
 * @author ruoyi
 * @date 2022-12-30
 */
@Component
public interface UserAddressMapper {
    /**
     * select one
     *
     * @param address a
     * @return r
     */
    UserAddress selectOne(UserAddress address);

    /**
     * 查询用户充值地址
     *
     * @param id 用户充值地址主键
     * @return 用户充值地址
     */
    public UserAddress selectUserAddressById(Long id);

    /**
     * 查询用户充值地址列表
     *
     * @param userAddress 用户充值地址
     * @return 用户充值地址集合
     */
    public List<UserAddress> selectUserAddressList(UserAddress userAddress);

    /**
     * 新增用户充值地址
     *
     * @param userAddress 用户充值地址
     * @return 结果
     */
    public int insertUserAddress(UserAddress userAddress);

    /**
     * 修改用户充值地址
     *
     * @param userAddress 用户充值地址
     * @return 结果
     */
    public int updateUserAddress(UserAddress userAddress);

    /**
     * 删除用户充值地址
     *
     * @param id 用户充值地址主键
     * @return 结果
     */
    public int deleteUserAddressById(Long id);

    /**
     * 批量删除用户充值地址
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUserAddressByIds(Long[] ids);

    /**
     * 根据userIdList查询
     *
     * @param userIdList 用户idList
     * @param condition  查询条件
     * @return {@link List< UserAddress>}
     * @since 2023/4/4 12:39
     */
    List<UserAddress> listByUserIdList(@Param("userIdList") List<Long> userIdList,
                                       @Param("condition") UserAddress condition);
}
